Update how cargo talks to the registry
authorAlex Crichton <alex@alexcrichton.com>
Sat, 27 Sep 2014 04:14:46 +0000 (21:14 -0700)
committerAlex Crichton <alex@alexcrichton.com>
Mon, 27 Oct 2014 19:40:23 +0000 (12:40 -0700)
commit9fba127e4feafdece943637a85ab67fa7af02b02
tree359319a0fa60813a4a3d8fba0b2bfa1f4a10621c
parent99c8768f801457fac6f56a6c1fe676e6d63aa529
Update how cargo talks to the registry

This commit includes a laundry list of updates and tweaks to reflect the current
API of the registry:

* `registry.host` has been renamed to `registry.index`
* New top-level manifest keys are now accepted:
  * `homepage` - url
  * `documentation` - url
  * `repository` - url
  * `description` - a markdown-less blurb
  * `license` - string (verified by the registry on upload)
  * `keywords` - string array
  * `readme` - string pointing at a file
* Authors are now uploaded to the registry
* The upload format to the registry has changed to a body json payload
* Unpacking tarballs respects the executable bit for scripts and such.
* Downloading now follows redirects to go to S3.
* The download URL for a package has changed slightly.
* Verify path dependencies have a version listed when being uploaded
* Rename `upload` to `publish`
* Rename `ops::cargo_upload` to `ops::registry`
* Add a new `registry` package for interoperating with the registry
* Add the ability to modify owners via `cargo owner`
* Add a `readme` key to the manifest, and upload its contents to the registry.
* Add the ability to yank crates and their versions
* When packaging a library, verify that it builds from the packaged source by
  unpacking the tarball and simulate running `cargo build` inside of it.
31 files changed:
Cargo.lock
Cargo.toml
src/bin/cargo.rs
src/bin/login.rs
src/bin/owner.rs [new file with mode: 0644]
src/bin/package.rs
src/bin/publish.rs [new file with mode: 0644]
src/bin/upload.rs [deleted file]
src/bin/yank.rs [new file with mode: 0644]
src/cargo/core/dependency.rs
src/cargo/core/manifest.rs
src/cargo/core/package.rs
src/cargo/core/source.rs
src/cargo/lib.rs
src/cargo/ops/cargo_compile.rs
src/cargo/ops/cargo_package.rs
src/cargo/ops/cargo_read_manifest.rs
src/cargo/ops/cargo_upload.rs [deleted file]
src/cargo/ops/mod.rs
src/cargo/ops/registry.rs [new file with mode: 0644]
src/cargo/sources/registry.rs
src/cargo/util/toml.rs
src/doc/config.md
src/registry/Cargo.toml [new file with mode: 0644]
src/registry/lib.rs [new file with mode: 0644]
tests/support/mod.rs
tests/test_cargo_package.rs
tests/test_cargo_publish.rs [new file with mode: 0644]
tests/test_cargo_registry.rs
tests/test_cargo_upload.rs [deleted file]
tests/tests.rs